Cyber-physical Systems (CPS) are present in our everyday life. Along the increasing complexity of the devices, the process of designing CPS devices is also becoming more challenging. Due to the nature of CPS, it is no longer sufficient to isolate the components of CPS and study them individually, because the cyber part and physical part interact with each other. However, the current situation is that often engineers are not trained to have a mindset of considering systems as a whole, but instead have a more specialized knowledge in a specific discipline. This situation also applies to the existing theory development. In practise, ad hoc approaches are often adopted in the design process. This often leads to expensive rework later or even possibly a severe design flaw which might be fatal for the system itself. The goal of this research is to support system-level design for CPS devices from methods perspective with corresponding tooling support to bridge the existing design gap. In this work, a set of methods are provided that support different expertise to understand CPS design from a system level, instead of only considering one single specific discipline. In order to avoid confusions across the different domains, a list of explained terms is provided. Co-design support guidelines (co-design flows) that consider different backgrounds of the possible designers and different system properties are discussed in detail. Following the step-wise refinement design steps, a CPS is firstly modelled in a top-level model, then detailed out with different focuses of the interest: such as dynamic-behaviour oriented, control-logic oriented and contract oriented. A way of working, to reduce unnecessary design iterations and help engineers to structure the cyber part software in a way that the whole system can act more robust, is also discussed. This includes a general method of modelling the possible faults using a layered controller structure. From these two aspects, the resulting system design is made more robust (fault-tolerant). From a tooling support aspect, a design-support software framework is introduced. A co-simulation framework is presented that supports expertise from different domains to work together, which can enable early stage testing to avoid high expenses (both money and time wise) in the development cycle. This framework combines two domain-specific tools with an appropriate synchronization scheme for the co- simulation engine. Additionally, a domain-specific scripting language (DCL) is introduced to ease the change of a co-model scenario during the co-simulation, such as fault injections. With the aid of design space exploration (DSE) tool support, system designers can make better early-stage design choices. The methods and the tooling support introduced in this work are demonstrated in two different case studies with different focuses: the mobile robot case study aims to demonstrate the design space exploration facility; the slider setup is focussed on demonstrating fault-tolerant mechanisms. Besides these two case studies, the methods and tooling have been also tested widely in industrial consortium of the DESTECS project. It is recommended that the methods and tooling are applied in other application domains, such as medical healthcare devices, automotive industries, etc. Cyber-Physical Systems is still a relatively young and changing research area. This work is only a little step in the CPS system-level design support, a lot of work still needs to be done. Thinking of CPS devices on a larger scale and higher complexity can bring us to further integration of a wider range of models.
展开▼